-
Notifications
You must be signed in to change notification settings - Fork 105
Make cold deciduous variables and parameters PFT-specific #1392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mpaiao
wants to merge
59
commits into
NGEET:main
Choose a base branch
from
mpaiao:mpaiao-pr-colddecid-pft
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ogy to become PFT-specific. In the next commit, several cold-deciduous parameters will become PFT- specific parameters too.
…asonal (cold) deciduous into PFT-specific. This allows different cold-deciduous PFTs to have different thresholds.
…om EDParamsMod.F90
…y both cold deciduous and drought deciduous.
Contributor
|
#1355 should be integrated prior to this. |
5 tasks
The goal here is to simplify things and improve my understanding before more substantive refactoring and fixing. Changes: - Do everything within one patch loop, rather than looping through to get numerators and denominators separately, then looping again to do the division. - Use new "weight" variable instead of repeating (e.g.) "cpatch*area * AREA_INV". - Replace "hio_area_si_age(io_si, ipa2)*AREA" with "sites(s)%area_by_age(ipa2)" - Replace "sites(s)%area_by_age(cpatch%age_class)" with new "age_class_area" variable. Should be identical within roundoff precision. Affected variables: - FATES_BURNFRAC_AP - FATES_CANOPYAREA_AP - FATES_FIRE_INTENSITY_BURNFRAC_AP - FATES_FUEL_AMOUNT_AP - FATES_GPP_AP - FATES_LAI_AP - FATES_LBLAYER_COND_AP - FATES_NCL_AP - FATES_NPP_AP - FATES_SCORCH_HEIGHT_APPF - FATES_SECONDAREA_ANTHRODIST_AP - FATES_SECONDAREA_DIST_AP - FATES_STOMATAL_COND_AP - FATES_VEGC_AP - FATES_ZSTAR_AP Also renames various internal FatesHistoryInterfaceMod variables from "area" to "fracarea" for clarity (units are m2/m2, not m2).
To avoid similar mistakes in the future, adds function SumMortForHistory to fates_cohort_type.
These are useful for checking whether the per-ageclass versions are normalized correctly. * FATES_CANOPYAREA * FATES_NCL * FATES_PATCHAREA * FATES_SCORCH_HEIGHT_PF * FATES_SECONDAREA_ANTHRODIST * FATES_SECONDAREA_DIST * FATES_ZSTAR
Now dividing by total site area instead of age-class area: - FATES_GPP_AP - FATES_NPP_AP - FATES_LAI_AP - FATES_NCL_AP - FATES_SCORCH_HEIGHT_APPF Now dividing by site-wide canopy area instead of age-class canopy area: - FATES_LBLAYER_COND_AP - FATES_STOMATAL_COND_AP
Used in history outputs to get biomass of each organ, plus alive and total biomass.
Co-authored-by: Gregory Lemieux <[email protected]>
Useful for checking that FATES_PRIMARY_AREA_AP has the correct denominator.
…_AP. For consistency with other ageclass-stratified outputs.
… counts, and updating everything else that dependons on that.
…ler than the maxloc method
5 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
inputs: parameter file
Pertaining to changes to the FATES parameter file
parameters: new
Pertaining to adding new parameters to the parameter file
science: phenology
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This pull request is part of the #1385 task (and previously pointed out in #204). The goal is to allow for more flexibility in how we parameterise cold-deciduous PFT. Similar to the drought deciduous site variables, the cold deciduous ones are now PFT-specific, and previous parameters that were global were replaced with PFT-specific parameters, using the same name. Most parameters existed already in FATES, but there is a new one,
fates_phen_gddtemp, which is the lower temperature threshold above which growing degree days accumulate. This was implicitly set to 0°C in the code, so this is the default value for all PFTs, but this typically varies by PFT.In this pull request, I also eliminated a locally defined parameter
dleafon_drycheckinbiogeochem/EDPhysiologyMod.F90, which was only used by drought deciduous. In this pull request, we instead take the values from the now PFT-specific parameterfates_phen_mindayson. The difference in values amongst PFTs reflects the differences that already existed between cold- (90 days) and drought-deciduous (100 days), though both values are arbitrary.By turning most site-level, phenology-related variables into PFT vectors, I replaced the duplicated list of duplicated variables that were specific to cold or drought-deciduous into a single set. The table below shows how the new variables relate to the old ones.
currentSite%phen_statuscurrentSite%cstatuscurrentSite%dstatuscurrentSite%leafoffdatecurrentSite%cleafoffdatecurrentSite%dleafoffdatecurrentSite%leafondatecurrentSite%cleafondatecurrentSite%dleafondatecurrentSite%leafondatecurrentSite%cleafondatecurrentSite%dleafondatecurrentSite%ndaysleafoffcurrentSite%cndaysleafoffcurrentSite%dndaysleafoffcurrentSite%ndaysleafoncurrentSite%cndaysleafoncurrentSite%dndaysleafonThis pull request will become incompatible with
NGEET:mainonce #1355 is merged, and will require some minor updates. It is probably better to merge #1355 first, then apply the changes needed before merging this one (but this pull request can be revised in the meantime).Collaborators:
@rgknox @glemieux @rosiealice @XiulinGao @lmkueppers @ckoven
Expectation of Answer Changes:
This PR should be bit-for-bit, this just changes the dimensionality of parameters and variables.
Checklist
If this is your first time contributing, please read the CONTRIBUTING document.
All checklist items must be checked to enable merging this pull request:
Contributor
Integrator
If satellite phenology regressions are not b4b, please hold merge and notify the FATES development team.
Documentation
Test Results:
CTSM (or) E3SM (specify which) test hash-tag:
CTSM (or) E3SM (specify which) baseline hash-tag:
FATES baseline hash-tag:
Test Output: